package com.ruoyi.common.enums;

/**
 * 分析维度枚举
 *
 * @author wanghua
 */
public enum AnalysisDimensionEnum {

    /** 事件分析 */
    EVENT(1, "事件分析"),

    /** 10cm土壤 */
    SOIL10CM(301, "10cm土壤"),
    /** 20cm土壤 */
    SOIL20CM(302, "20cm土壤"),
    /** 30cm土壤 */
    SOIL30CM(303, "30cm土壤"),
    /** 40cm土壤 */
    SOIL40CM(304, "40cm土壤"),
    /** 50cm土壤 */
    SOIL50CM(305, "50cm土壤"),
    /** 60cm土壤 */
    SOIL60CM(306, "60cm土壤"),
    /** 70cm土壤 */
    SOIL70CM(307, "70cm土壤"),
    /** 80cm土壤 */
    SOIL80CM(308, "80cm土壤"),
    /** 90cm土壤 */
    SOIL90CM(309, "90cm土壤"),
    /** 100cm土壤 */
    SOIL100CM(310, "100cm土壤");

    /** 值 */
    private int value;

    /** 注释 */
    private String comment;

    public int getValue() {
        return this.value;
    }

    public String getComment() {
        return this.comment;
    }

    AnalysisDimensionEnum(int value, String comment) {
        this.value = value;
        this.comment = comment;
    }

    /**
     * 根据值获取对应的枚举
     *
     * @param value 枚举的数值
     * @return 成功返回相应的枚举，否则返回null。
     */
    public static AnalysisDimensionEnum parse(Integer value) {
        if (value != null) {
            AnalysisDimensionEnum[] array = values();
            for (AnalysisDimensionEnum each : array) {
                if (value == each.value) {
                    return each;
                }
            }
        }
        return null;
    }

    /**
     * 根据值判断是否土壤相关的分析维度枚举值
     * @param value
     * @return
     */
    public static Boolean doIsSoil(Integer value) {
        if (value != null) {
            AnalysisDimensionEnum[] array = values();
            for (AnalysisDimensionEnum each : array) {
                if (value == each.value && each.name().startsWith("SOIL")) {
                    return true;
                }
            }
        }
        return false;
    }

}
